package com.xuecheng.manage_cms.web.controller;

import com.xuecheng.api.cms.CmsPageControllerApi;
import com.xuecheng.framework.domain.cms.CmsPage;
import com.xuecheng.framework.domain.cms.request.QueryPageRequest;
import com.xuecheng.framework.model.response.CommonCode;
import com.xuecheng.framework.model.response.QueryResponseResult;
import com.xuecheng.framework.model.response.QueryResult;
import com.xuecheng.manage_cms.service.PageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 为了严格按照接口进行开发，提高效率，对请求及响应格式进行规范化。
 * 1
 * 、
 * get请求时，采用key/value格式请求，SpringMVC可采用基本类型的变量接收，也可以采用对象接收。
 * 2
 * 、
 * Post请求时，可以提交form表单数据（application/x-www-form-urlencoded）和Json数据（Content-
 * Type=application/json），文件等多部件类型（multipart/form-data）三种数据格式，SpringMVC接收Json数据
 * 使用@RequestBody注解解析请求的json数据。
 * 4
 * 、
 * 响应结果统一信息为：是否成功、操作代码、提示信息及自定义数据。
 * 5
 * 、
 * 响应结果统一格式为json。
 * 传智播客
 */

/**
 * @author ADMIN
 * @date 2021/3/13 16:21
 */
@RestController
@RequestMapping("cms/page")
public class CmsPageController implements CmsPageControllerApi {
    @Autowired
    PageService pageService;
    @Override
    @GetMapping("list/{page}/{size}")
    public QueryResponseResult findList(@PathVariable("page") int page, @PathVariable("size") int size, QueryPageRequest queryPageRequest) {
//        //暂时使用测试数据 测试接口是否正常
//        QueryResult queryResult = new QueryResult<>();
//        queryResult.setTotal(2);
//        //静态数据列表
//        List list = new ArrayList<>();
//        CmsPage cmsPage = new CmsPage();
//        list.add(cmsPage);
//        queryResult.setList(list);
//        QueryResponseResult queryResponseResult = new QueryResponseResult(CommonCode.SUCCESS, queryResult);
//        return queryResponseResult;
        return pageService.findList(page,size,queryPageRequest);
    }
}
